#pragma once
#include <pcl/point_cloud.h>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
//#include <pcl_ros/point_cloud.h>
#include <pcl_conversions/pcl_conversions.h>
#include <pcl/common/common.h>
#include <pcl/common/transforms.h>
#include <pcl/search/kdtree.h>
#include <memory>
#include <chrono>
#include <string>
struct seat_shift
{
    double x;
    double y;
    double wmga;
};
class find_seat
{
    public:
    find_seat(){}
    ~find_seat(){}
    void load_seat_pcd(std::string filename);
    pcl::PointCloud<pcl::PointXYZ> init_seat_cloud;
    void set_input_coud(pcl::PointCloud<pcl::PointXYZ> &cur_cloud);
    void set_seat_zero(void);
    seat_shift seat_sf;
    pcl::KdTreeFLANN<pcl::PointXYZ> init_tree;
    pcl::KdTreeFLANN<pcl::PointXYZ> cur_tree;
};